===========================================================================================
|
|   UNOFFICIAL SNES POWERPAK FIRMWARE V2.00-BETA2 (CODENAMED "SIMBA")
|   (c) 2012 by ManuLwe (http://www.manuloewe.de/)
|
|	*** USAGE & INSTALLATION ***
|
===========================================================================================



   A WORD OF WARNING !!!
______________________________________________________________________

Despite thorough testing, this software is NOT guaranteed to be bug-free. There are likely even critical issues in this software which might at worst corrupt data on your CF card and/or render your SNES PowerPak useless and/or damage your SNES control deck, as well as any accessory connected to it (like joypads, your TV set, etc.). The developer, ManuLwe, will NOT be held responsible for any harm directly or indirectly caused by this software and/or the documents accompanying it, which you agree upon by downloading, installing and using this software. For more information, please read the disclaimer further below.



   OVERVIEW
______________________________________________________________________

Thank you so much for downloading and installing my unofficial firmware v2.00 for the SNES PowerPak!

As a huge fan of this awesome flashcart myself ever since it was released in late 2009, I decided to give it a much-needed menu redesign earlier this year. Starting off as a simple font hack, this project quickly evolved into a full-blown, time-consuming GUI overhaul as I discovered how much more was possible, and necessary, in the process. Eventually, after obtaining The Sourcecode(tm) from the original developer, I was able to progress ever faster and smoother, the result of which is finally here for all SNES PowerPak users to enjoy. :-)

Major new features include an overall more flexible user interface with more intuitive joypad button mapping and an in-operation customization area, where you can switch DMA on/off, choose between three logo/cursor sprite sets, and select one of six HDMA background color gradient designs to adapt the PowerPak GUI to your individual liking. This, as well as the completely rewritten music player (now based on blargg's fantastic SPC uploading routines), aims to push the SNES PowerPak to a point where it shows its full potential, or at least something close to it.

The core change since v1.0X, however, is using the Super Nintendo's pseudo horizontal high resolution (BG mode 5), which now allows the filebrowser to display well over 50 characters per entry. Although this slows down file browsing to a certain extent due to the higher amount of LFN data being loaded, it helps to distinguish between ROM and save files with especially long yet similar names. For example, suppose you have these two ROM/savefile pairs on your CF card:

Final Fantasy IV (English) - Cosmetic Changes.sfc
Final Fantasy IV (English) - Cosmetic Changes.srm
Final Fantasy IV (English) - Cosmetic Changes 2.sfc
Final Fantasy IV (English) - Cosmetic Changes 2.srm

The two games will not only be visibly different now, but also auto-load their respective savegame files without mistake!

Additionally, I tried to optimize button mapping wherever necessary (see the section after next for details), spent time fixing bugs and quirks all over, and added some unobtrusive yet nice-to-notice graphical enhancements here and there.



   INSTALLATION
______________________________________________________________________

To install this unofficial SNES PowerPak firmware v2.00, you are required to perform two steps:

1) Update your PowerPak's boot FlashROM chip with snes_powerpak_loader_v2.00.bin,
2) Replace the CF module files in the "POWERPAK" directory on your CF card with those from this release (whilst keeping your "SAVES" directory intact, of course).

The first step is likely the more difficult one. If you have a SNES PowerPak revision D or E (which can be determined by having a look at the printing on the PCB in the CF card slot), it shouldn't involve more than opening up the cart, removing the flash chip and reprogramming it with a Willem or other programmer that supports PLCC32 type of chips. My own PowerPak is rev. D with an ATMEL AT29C010A boot ROM chip, but I know of at least one rev. E PowerPak with an SST 39SF010A chip installed.

Be careful when you remove the chip! It's likely not glued in, but I still had an incredibly hard time getting it out of its socket. This should be done with extreme care in order to avoid damage to you, the PowerPak, and/or any equipment you might be using. PLCC32 tweezers are recommended, though even these might cause damage to the socket if you aren't especially careful.

After reprogramming the chip, put it back in - again, with care, despite the fact that some gentle force might be required to avoid connection problems. Then, insert the PowerPak WITHOUT A CF CARD (!) into your SNES and fire it up. If it shows the logo and gives you a "CF card not found" error, then good, please proceed to the next step. :-) If not, you probably made a mistake somewhere and have to start over.

Next is preparing the CF card. I recommend starting from scratch, i.e. with formatting the card using FAT32 (!). Then copy over the "POWERPAK" directory from this release, and you're basically done. You might want to add savegames to the /SAVES folder, or to any other directory on the card, as well as ROMs, of course.

If you don't want to reformat your CF card first, that's fine, but then please don't complain should problems arise. :p Anyway, load the card up on your computer, browse to the "POWERPAK" folder and copy over all (!) the files from this release's subfolder of the same name, overwriting all (!) existing files in the process. Note that several new files will be put on your card (SC.MAP, SD.MAP, SD.SPC) and that CONFIG.TXT and LOG.TXT will be bigger in size than before, which is crucial for everything to work. Oh, and don't worry about an empty CONFIG.TXT - the PowerPak will start up with standard settings and write back all parameters as soon as you access the new customization feature. :-)

Okay, now it's finally time to re-load your ROMs (and savegames, possibly) onto the CF card. It is not recommended to put more than ~500 files into each directory. Technically, only the first 511 relevant files + subfolders of any directory are loaded at a time due to the rather limited WRAM buffer size, 508 of which are displayed in the filebrowser at most. So try and organize fewer files in more subdirectories to avoid "missing" files.

Lastly, install the CF card into your PowerPak ... and play! :D



   BUTTON MAPPING
______________________________________________________________________

I'll limit this to anything that was changed since v1.0X (or undocumented therein) or isn't listed in the on-line help.

Titlescreen:
- B, X, Y and the directional pad are ignored.

Filebrowser:
- Up/down moves the cursor "digitally" from entry to entry. Hold for fast and convenient short-distance navigation.
- Left/right (directional pad) scrolls the cursor just as fast as the L/R shoulder buttons used to in v1.0X (left = up, right = down).
- L/R (shoulder buttons) skip entire "pages" (L = previous page, R = next page). To avoid confusion, there is a built-in "stop" both at the beginning and end of a directory.
- A selects a file or directory.
- B allows you to go up one directory at any time. If you are in the root directory, B will take you back to the previous screen instead (except when in the SRAM browser).
- X, Y are ignored.
- Start (in the ROM browser) takes you to the options screen with the game pre-selected that was played last.
- Start (in the GameGenie code TXT browser) takes you back to the options screen (just like B in this case).
- Start (in the SRAM browser) is ignored.

Options screen (this is where you add SRAM and/or GameGenie codes):
- Press Start to launch the game (even when the cursor isn't on the "Play!" line).
- Make a main selection (like starting the game) with A, other buttons are ignored.
- When entering GameGenie codes, A/X/R make a digit increment its value while B/Y/L decrement it.
- Press L+R+X together to clear out all previously entered and/or loaded GG codes (useful e.g. if you want to get rid of codes loaded together with the game you played last).

Game loading:
- Hold Select while a ROM is being loaded to have its mapping logged to LOG.TXT, and pause on the mapping screen. Press Start to actually launch the game. (Otherwise, only failed ROM loading attempts will be logged.)



   COMPILING THE SOURCE
______________________________________________________________________

If you want to compile the source for yourself using the included make script, you first have to obtain the following tools, which are called in the process:

- WLA DX v9.5a Windows binaries
- head.exe from the GNU utilities' Win32 port
- snestools.exe v0.1.0 from Alekmaul's DevkitSnes v1.0.0 release
- zerofill.exe from Neill Corlett's command line pack v1.03

All the graphics are best converted with Alekmaul's gfx2snes v0.3.0 (also included in DevkitSnes); for the correct parameters, see my included conversion script. The background gradient PNGs (bg0...bg6) are for use with Ersanio's HDMA Gradient Ripper v1.2.2, output tables are for register $2121/$2122 with a palette color destination of $00.

The music, generally, is a complete pain in the neck to get right. Remember that you only have 8 channels, and sample quality needs to be heavily reduced to make it all fit into the SPC700's sound RAM (64 KB). Once you've created a decent sounding downsampled IT version of your song (I recommend Open ModPlug Tracker / OpenMPT), it is best compiled into a ROM using Alekmaul's PVSnesLib music example. The SPC data can then be captured with the emulator of your choice. Good luck!



   CREDITS & THANKS
______________________________________________________________________

Thanks go out to the following people (in no particular order):

- ikari_01 (the Great) for tips and hints concerning HDMA and pseudo hi-res mode
- blargg for his amazing SPC uploading routines
- bunnyboy for creating the SNES PowerPak, and for silently releasing the loader sourcecode upon my persistent request! :D



   DISCLAIMER
______________________________________________________________________

All trademarks mentioned in this readme file are the property of their respective owners.

This software is freeware. It is provided "as is" and without express or implied warranty of any kind. ManuLwe will not be held liable or responsible for any losses, damages, injuries, and/or legal consequences due to the misuse and/or illegal use of any of the files contained within this archive. 

The archive may be redistributed freely under the circumstance that no file(s) is/are added, changed, and/or removed.

ManuLwe is not affiliated in any way with The Retrozone / RetroUSB or Nintendo.
